/*
1. fs.stat 检测是文件还是目录
2. fs.mkdir 创建目录
3. fs.writeFile 创建写入文件
4. fs.appendFile 追加文件
5.fs.readFile 读取文件
6.fs.readdir 读取目录
7.fs.rename 重命名
8. fs.rmdir 删除目录
9. fs.unlink 删除文件
10. fs.createReadStream 从文件流中读取数据
11. fs.createWriteStream 写入文件
12. 管道流
管道提供了一个输出流到输入流的机制
*/

var fs =require('fs')


// 1. fs.stat 检测是文件还是目录


//fs.stat(path,callback)
/*
var fs =require('fs')
fs.stat('./html',(err,data)=>{
    if(err){
        console.log(err);
        return;
    }
    console.log(`是文件${data.isFile()}`);
    console.log(`是目录${data.isDirectory()}`);
})
*/
/*var fs =require('fs')
fs.stat('./package.json',(err,data)=>{
    if(err){
        console.log(err);
        return;
    }
    console.log(`是文件${data.isFile()}`);
    console.log(`是目录${data.isDirectory()}`);
})*/



// 2. fs.mkdir 创建目录


// fs.mkdir(path,mode,callback)
/*
path 将创建的目录路径
mode (选填) 目录权限(读写权限), 默认777
callback 回调函数,传递异常参数err
*/
/*fs.mkdir('./css',(err)=>{
    if(err){
        console.log(err);
        return;
    }
    console.log('创建成功')
})*/


// 3.fs.writeFile 创建写入文件 如果文件存在,文件内容将被替换


/*fs.writeFile ('./html/index.html','你好啊啊',(err)=>{

    if(err){
        console.log(err);
        return;
    }
    console.log('创建写入文件成功')
})
*/


// 4. fs.appendFile 追加文件 如果没有文件,将创建. 可以使用\n换行


/*fs.appendFile ('./css/base.css','body{color:red}\n',(err)=>{

    if(err){
        console.log(err);
        return;
    }
    console.log('appendFile成功')
})*/
/*fs.appendFile ('./css/base.css','h2{color:red}\n',(err)=>{

    if(err){
        console.log(err);
        return;
    }
    console.log('appendFile成功')
})*/


// 5.fs.readFile 读取文件


/*fs.readFile ('./html/index.html',(err,data)=>{

    if(err){
        console.log(err);
        return;
    }
    console.log(data);
    console.log(data.toString());//将Buffer 转化string类型

})*/


// 6.fs.readdir 读取目录 返回一个数组包含文件名和目录名


/*fs.readdir ('./html',(err,data)=>{

    if(err){
        console.log(err);
        return;
    }
    console.log(data);
    

})*/


// 7.fs.rename 重命名  1.重命名  2.移动文件
//fs.rename (oldPath,newPath,callback)


//1.重命名
/*fs.rename ('./css/aaa.css','./css/index.css',(err)=>{

    if(err){
        console.log(err);
        return;
    }
    // console.log('重命名成功')
})*/
//2.移动文件
/*fs.rename ('./css/index.css','./html/index.css',(err)=>{

    if(err){
        console.log(err);
        return;
    }
    console.log('移动成功')
})*/



// 8. fs.rmdir 删除空目录

/*fs.rmdir ('./aa',(err)=>{

    if(err){
        console.log(err);
        return;
    }
    console.log('删除目录成功');
    

})*/



// 9. fs.unlink 删除文件


/*fs.unlink ('./aa/index.html',(err)=>{

    if(err){
        console.log(err);
        return;
    }
    console.log('删除文件成功');
    

})*/
// 10. fs.createReadStream 从文件流中读取数据
// 11. fs.createWriteStream 写入文件